/** 参数解析
 * @param {ip,docName} server docName为igServer发布的服务名字
 * @param {index,name,GDBP} layer 
 *  index为要素在地图文档中索引位置
 *  name为要素在地图文档中的名字
 *  GDBP为要素在mapgis数据库中的要素网址
 * @param {} callback 为操作后的回调函数
 */

export class ZondyDocCatalog {
    static getLayer({
        server = {
            ip: import.meta.env.VITE_BASE_IP,
            docName: 'guanggu',
        },
        callback = (data) => {
            data.succeed ? alert('成功') : alert('失败')
        },
    }) {
        var docCatalog = new Zondy.Catalog.MapDoc({
            ip: server.ip,
            port: 6163,
            //或获取的地图文档的名称
            docName: server.docName,
            //------设置地图的索引号------
            // mapIndex: 0,
        })
        //调用getMapDocList方法，获取服务器地图文档列表，在回调函数中处理结果
        docCatalog.getLayersInfo(callback)
        //成功回调
        // function getListSuccess(data) {
        //   console.log(data)
        //   data.value.forEach((element, index) => {
        //     TreeName.value.push(element)
        //   })
        // }
    }

    static addLayer({
        server = {
            ip: import.meta.env.VITE_BASE_IP,
            docName: 'guangu',
        },
        layer,
        callback = (data) => {
            data.succeed ? alert('成功') : alert('失败')
        },
    }) {
        //实例化MapDoc类，设置操作的地图文档 ,指定地图为索引值为0的地图
        var docCatalog = new Zondy.Catalog.MapDoc({
            ip: server.ip,
            port: 6163,
            docName: server.docName,
            mapIndex: 0
        });
        // 
        var layerinfo = {
            // Index: -1,   //图层的索引号，默认为-1表示从文档末尾附加
            Index: layer.index,
            LayerName: layer.name,//图层名称
            GDBP: layer.GDBP,//图层的GDBP值
        };

        //调用addLayer方法，执行添加图层的操作，回调函数处理结果
        docCatalog.addLayer([layerinfo], callback);
        vectorMapdoc.refresh(); //刷新地图
    }

    static deleteLayer({
        server = {
            ip: import.meta.env.VITE_BASE_IP,
            docName: 'guangu',
        },
        layer,
        callback = (data) => {
            data.succeed ? alert('成功') : alert('失败')
        },
    }) {
        //实例化Zondy.Service.Catalog.MapDoc类，设置操作的地图文档,地图为索引值为0的地图，图层为索引值为3的图层
        var docCatalog = new Zondy.Catalog.MapDoc({
            ip: server.ip,
            port: server.port,
            docName: server.docName,
            mapIndex: 0,
            layerID: layer.index,
        });
        //调用deleteLayer方法，执行删除图层的操作，回调函数处理结果
        docCatalog.deleteLayer(callback);
    }
}

